package ${EntityPackageName};

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import pattern.mybatisplus.BaseDataModel;
import java.io.Serializable;
${imp}

/**
 * @author ${author}
 * @date ${Date}
 */
@Data
@TableName("${tableName}")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "${desc}")
public class ${ClassName} extends DataModel<${ClassName}, ${PrimaryKeyType}> {

${StaticProperties}
${Properties}
    /**
     * 主键值，ActiveRecord 模式这个必须有，否则 xxById 的方法都将失效！
     * 即使使用 ActiveRecord 不会用到 RoleMapper，RoleMapper 这个接口也必须创建
     */
    @Override
    public Serializable pkVal(){
        return this.${PrimaryKey};
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }
}